package oas.db;

import oas.domain.Leave;
import oas.domain.User;
import oas.web.PaginationSupport;

/**
 * 
 * @author Dzq
 *
 */

public interface UserLeaveRepository {
	
	/**
	 * 添加一个请假记录，用于员工申请请假
	 * @param leave
	 * @return
	 */
	Leave save(Leave leave);
	
	/**
	 * 查找指定页面大小下某一页的数据
	 * @param pageNo
	 * @param pageSize
	 * @param user
	 * @return
	 */
	PaginationSupport<Leave> findPage(int pageNo, int pageSize, User user);
	
	/**
	 * 个人请假记录的总数
	 * @param user
	 * @return 个人请假记录总数
	 */
	long count(User user);
	
	/**
	 * 根据id查找请假记录
	 * @param id
	 * @return 请假记录
	 */
	Leave findById(Long id);
}
